昨天我們搭好了廚房,備好了所有工具。今天,我們就要正式下廚,端出我們的第一道 AI 料理 — Hello, Kernel! 這道菜的目標非常簡單,就是讓我們的 AI 廚師開口說出他的第一句話。透過這個最基本的範例,你將會親身體驗到 Semantic Kernel (SK) 是如何運作的,並對其核心概念有一個初步的了解。
除了昨天準備好的專案之外,我們還需要一樣最重要的「食材」:AI 模型。
AI 模型是這場料理的核心,沒有它,廚師就只是個擺設。SK 的設計非常靈活,它支援多種 AI 服務,例如:
小提醒:請務必先到這些服務的官方網站註冊並取得你的 API Key,這是你的廚房通行證!同時,如果你使用的是 Azure OpenAI,別忘了你的 Endpoint 和 Deployment Name。
打開你專案中的 Program.cs
檔案,清空裡面的所有內容,然後貼上以下程式碼。我會一行一行地為你解說,讓你明白每行程式碼的意義。
using Microsoft.SemanticKernel;
using Microsoft.SemanticKernel.ChatCompletion;
using Microsoft.Extensions.Configuration;
// 1. 廚房的總指揮:建立 Kernel Builder
// 這就像是廚師在設定他的工作檯,準備好所有工具和服務。
// 讀取 user-secrets 設定
var config = new ConfigurationBuilder()
.AddUserSecrets<Program>()
.Build();
var builder = Kernel.CreateBuilder();
// 2. 邀請 AI 服務進駐廚房
// 這裡我們以 OpenAI 為例,但你可以替換成你使用的任何服務。
// API 金鑰從 user-secrets 取得
var apiKey = config["OpenAI:ApiKey"] ?? throw new Exception("請先設定 user-secrets: OpenAI:ApiKey");
builder.AddOpenAIChatCompletion("gpt-5-mini", apiKey);
// 3. 廚師準備就緒:建構 Kernel 實例
// 所有的服務都準備好了,現在我們正式把 Kernel 實體化,這位廚師可以開始工作了!
var kernel = builder.Build();
// 4. 準備食譜 (提示詞)
// 這是我們給廚師的指令,告訴他我們想要什麼樣的料理。
var prompt = "你好,我是一位 AI 工程師,請用幽默的方式跟我打招呼。";
// 5. 廚師開始料理 (呼叫 AI)
// 執行這段程式碼,廚師會根據你的提示詞,去呼叫 AI 服務並得到結果。
Console.WriteLine("AI 思考中...");
var result = await kernel.InvokePromptAsync(prompt);
// 6. 菜上桌囉!
// 把廚師完成的料理呈現出來,也就是 AI 的回應。
Console.WriteLine($"AI 的回應:{result}");
這段程式碼雖然簡單,但它包含了 SK 最核心的幾個概念:
Kernel.CreateBuilder()
:這是所有 SK 應用的起點,用來建構和配置你的 Kernel
物件。builder.AddOpenAIChatCompletion(...)
:這一步非常重要,我們透過這個方法將指定的 AI 服務(這裡是 OpenAI)添加到我們的 Kernel 中。這就像是廚師選擇了他要使用的烤箱或微波爐。builder.Build()
:完成所有的配置後,我們呼叫 Build()
來產生最終的 Kernel
實例。kernel.InvokePromptAsync(prompt)
:這是執行提示詞的主要方法。當你呼叫它時,SK 會自動處理所有複雜的細節,將你的提示詞發送給 AI 服務,並返回結果。現在,打開你的終端機,確保你還在專案目錄下,然後輸入:
dotnet run
你應該會看到類似這樣的輸出:
AI 思考中...
AI 的回應:你好,工程師大大!我是你隨叫隨到的 AI pair-programmer,準備把 bug 變 feature、把 deadline 變 legend。
恭喜你!你已經成功地完成了第一道 AI 料理。你親手寫下的程式碼,成功地與遠端的 AI 進行了互動,並得到了回應。這就是 Semantic Kernel 的魔力,它將複雜的底層 API 呼叫抽象化,讓你專注於更重要的事 — 設計你的提示詞和整合你的業務邏輯。
今天我們完成了一道簡單的開胃菜,感受到了 AI 的魔力。明天,我們將不會急著上新菜,而是要深入到這間「廚房」的核心 — Kernel 本身。我們會更詳細地了解這位頂級廚師的內部結構和工作流程,讓你知其然,也知其所以然。敬請期待!